![]() Context-based search query formation
专利摘要:
Searching is assisted by recognizing a selection of text from a document as an indication that a user wishes to initiate a search based on the selected text. The user is provided with query suggestions based on the selected text and the query suggestions are ranked based on a context provided by the document. The user may select the text by using a mouse, drawing a circle around the text on a touch screen, or by other input techniques. The query suggestions may be based on query reformulation or query expansion techniques applied to the selected text. Context provided by the document is used by a language model and/or an artificial intelligence system to rank the query suggestions in predicted order of relevance based on the selected text and the context. 公开号:AU2013226549A1 申请号:U2013226549 申请日:2013-02-01 公开日:2014-08-28 发明作者:Peng Bai;Zheng Chen;Xuedong David Huang;Xiaochuan Ni;Jian-Tao Sun;Zhimin Zhang 申请人:Microsoft Corp; IPC主号:G06F17-30
专利说明:
WO 2013/130215 PCT/US2013/024247 CONTEXT-BASED SEARCH QUERY FORMATION BACKGROUND [0001] Many Internet searches are triggered by a web page that a user is browsing. That is, the user decides to initiate a search after consuming content on the web page. In 5 order to implement the search, the user must leave the web page to access a search engine. The user may copy and paste words from the web page into a search box or manually compose a search query for entry into a search box or a search engine web page. Either technique for generating the search query may suffer from deficiencies such as lack of specificity, search terms with multiple meanings, and ambiguous relationships between the 10 search terms. [0002] After the search results are returned, the user may leave the searching interface and return to web browsing. This alternation between a web page and a searching interface is inefficient. Moreover, the interaction with various user interfaces (e.g., text selection, copy, paste, etc.) can become tedious particularly on small form factor devices 15 or devices with limited ability to input text such as mobile phones, tablets computers, game consoles, televisions, etc. As an increasing number of users accesses web pages and other electronic documents through devices other than traditional computers, there will be an increasing need to smoothly integrate document consumption and searching. A system that can do so and additionally provide improved search queries will benefit users. 20 SUMMARY [0003] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. 25 [0004] This disclosure explains techniques for using both the area of a user's attention on a web page, or other document, as well as the surrounding context to generate and rank multiple search queries. While browsing a web page the user selects text from the web page. The selection of the text also generates a command to use that text as the starting point for generating candidate queries-search queries that may yield results relevant to 30 the selected text. Multiple types of search query expansion or search query reformulation techniques may be applied to generate multiple candidate queries from the selected text. The user may then select one of these search queries to submit to a search engine. Thus, the act of browsing is combined with the act of searching, creating an interface that 1 WO 2013/130215 PCT/US2013/024247 enables "Browsing to Search" by simply selecting text from the web page and then selecting one of the candidate queries. [0005] In order to guide the user to a search query from the set of candidate queries, the context of the document is considered. Evaluation of the candidate queries in light of 5 the context provided by the browsed web page is used to rank the respective candidate queries. Considering the surrounding context aids in ranking the candidate queries because the browsed web page may contain words which can be used (possibly with modifications) to disambiguate terms in the candidate queries and compare the candidate queries to previous search queries related to the same web page. 10 [0006] Ranking of the candidate queries may be performed by a language model, a classification method, or a combination of both. The language model may be implemented as a model that determines the probability of a candidate query given the selected text and the surrounding context. The classification method uses training data that contains selected text on web pages and associated queries. Human reviewers 15 determine if the selected text of the web page likely resulted in a user making the associated search query. If so, the selected text and query pair is used by a machine learning system to learn a function that predicts a confidence level for a candidate query given the selected text and the context. BRIEF DESCRIPTION OF THE DRAWINGS 20 [0007] The Detailed Description is set forth with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different figures indicates similar or identical items. [0008] Fig. 1 is an illustrative architecture showing an information-processing system 25 including a query formulator. [0009] Fig. 2 shows a schematic representation of illustrative data and components from the architecture of Fig. 1. [0010] Fig. 3 shows an illustrative document with selected text. [0011] Fig. 4 shows two illustrative user interfaces for selecting text. 30 [0012] Fig. 5 is an illustrative flowchart showing an illustrative method of providing a ranked listed of candidate queries in response to a user selection of text. 2 WO 2013/130215 PCT/US2013/024247 DETAILED DESCRIPTION Illustrative Architecture [0013] Fig. 1 shows an architecture 100 in which a user 102 can interact with a local computing device 104 to obtain search queries. The local computing device 104 may be 5 any type of computing device such as a desktop computer, a notebook computer, a tablet computer, a smart phone, a game console, a television, etc. Local computing device 104 may communicate via a network 106 with one or more network-accessible computing devices 108. The network 106 may be any one or more types of data communications networks such as a local area network, wide area network, the Internet, a telephone 10 network, a cable network, peer-to-peer network, a mesh network, and the like. The network-accessible computing devices 108 may be implemented as any type or combination of types of computing devices such as network servers, Web servers, file servers, supercomputers, desktop computers, and the like. The network-accessible computing devices 108 may include or be commutatively connected to one or more search 15 engines 110. The search engine(s) 110 may be implemented on one or more dedicated computing devices maintained by an entity that provides the searching services. [0014] An information-processing system 112 contains one or more processing elements 114 and memory 116 distributed throughout one or more locations. The processing elements 114 may include any combination of central processing units (CPUs), 20 graphical processing units (GPUs), single core processors, multi-core processors, application-specific integrated circuits (ASICs), and the like. One or more processing element(s) 114 may be implemented in software and/or firmware in addition to hardware implementations. Software or firmware implementations of the processing element(s) 114 may include computer- or machine-executable instructions written in any suitable 25 programming language to perform the various functions described. Software implementations of the processing elements(s) 114 may be stored in whole or part in the memory 116. [0015] The memory 116 may store programs of instructions that are loadable and executable on the processing element(s) 114, as well as data generated during the 30 execution of these programs. Examples of programs and data stored on the memory 116 may include an operating system for controlling operations of hardware and software resources available to the local computing device 104, the network-accessible computing device(s) 108, drivers for interacting with hardware devices, communication protocols for sending and/or receiving data to and from the network 106 as well as other computing 3 WO 2013/130215 PCT/US2013/024247 devices, and additional software applications. Depending on the configuration and type of local computing device 104 and/or the network-accessible computing device(s) 108, the memory 116 may be volatile (such as RAM) and/or non-volatile (such as ROM, flash memory, etc.). 5 [0016] The information-processing system 112 may also include additional computer readable media such as removable storage, non-removable storage, local storage, and/or remote storage. The memory 116 and any associated computer-readable media may provide storage of computer readable instructions, data structures, program modules, and other data. Computer-readable media includes, at least, two types of computer-readable 10 media, namely computer storage media and communications media. [0017] Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, RAM, ROM, 15 EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information for access by a computing device. [0018] In contrast, communication media may embody computer readable 20 instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave, or other transmission mechanism. As defined herein, computer storage media does not include communication media. [0019] The information-processing system 112 may exist in whole or part on either or both of the local computing device 104 and the network-accessible computing device(s) 25 108. Thus, the information-processing system 112 may be a distributed system in which various physical and data components exist at one or more locations and function together to perform the role of the information-processing system 112. In some implementations all features of the information-processing system 112 may be present on the local computing device 104. In other implementations, the local computing device 104 may be 30 a thin client that merely receives display data and transmits user input signals to another device, such as the network-accessible computing device(s) 108, which contains the information-processing system 112. [0020] The information-processing system 112 may contain a query formulator 118 that formulates search queries for the user 102. In some implementations, the query 4 WO 2013/130215 PCT/US2013/024247 formulator 118 may be storage in whole or part in the memory 116. In other implementations, the query formulator 118 may be implemented as part of the processing element(s) 114 such as a portion of an ASIC. Like the information-processing system 112 itself, the query formulator 118 may exist in whole or part on either or both of the local 5 computing device 104 and the network-accessible computing device(s) 108. In implementations in which all or part of the query formulator 118 is located redundantly on multiple computing devices, selection of which computing device to use for implementing the query formulator 118 may be based on relative processing speeds, a speed of information transmission across the network 106, and/or other factors. 10 [0021] FIG. 2 shows information and data flow through the query formulator 118 and other portions of the architecture 100 shown in FIG. 1. When the user 102 selects text from a document this provides the inputs for the query formulator 118 to formulate queries. The selected text 202 and the context 204 are received by a search initiation module 206. The selected text 202 may be selected by the user 102 interacting with the 15 local computing device 104 to select or indicate a passage or passages of text by any conventional mechanism for selecting text from a document. The context 204 may include other text in the document that surrounds or is located near the selected text 202. The context 204 may also include classification of the document based on intended or likely use of the document. For example, if the document is a web page and the web page 20 is identified as a merchant web page for selling goods and services, then the context 204 may recognize that the user 102 is likely searching for a good or service to purchase. Previous actions of the user 102 before selecting the text 202 may also provide the context 204. For example, search queries recently submitted by the user 102 may provide context 204 regarding the topic or area that the user 102 is currently searching. 25 [0022] The search initiation module 206 may interpret a single input from the user that selects the selected text 202 as a selection of text and as a command to generate a search query based on the selected text 202. For example, if the user 102 moves a cursor to select a contiguous series of text from a document, the user 102 does not need to paste or move this text to a different interface to receive search query suggestions. Selection of the text 30 itself may be interpreted by the search initiation module 206 as a command to generate one or more search queries. This dual role of the search initiation module 206 allows the user to both select text and request search queries with only a single input or interaction with the local computing device 104. 5 WO 2013/130215 PCT/US2013/024247 [0023] The search initiation module 206 passes the selected text 202, the context 204, and the command to generate search queries to the query formulator 118. The query formulator 118 may include a candidate query generator 208 that generates candidate queries from the selected text 202. The candidate query generator 208 may apply query 5 expansion or query reformulation techniques to the selected text 202. The candidate query generator 208 may create candidate queries from the selected text 202 by including synonyms, adding alternate morphological forms of words, correct spellings of misspelled words, and/or providing alternative spellings of words. When users fail to precisely select text of interest, e.g., when the text is selected by drawing an oval around it (using finger), 10 a word or phrase may be accidently split into two parts. The post processing work may include removing irrelevant characters or prefixing/appending relevant characters from the selected text. In some implementations, a query log of queries associated with the document is used to generate candidate queries. Query expansion techniques that use the query log may include applying a K-means algorithm to the query log, conducting a 15 random walk on a bipartite query-document graph generated by parsing the query log, running a PageRank algorithm on a query-flow graph generated from the query log, or mining term association patterns from the query log. [0024] The candidate query generator 208 may directly generate candidate queries or the candidate query generator 208 may pass the selected text 202 to another module or 20 system outside of the query formulator 118 (e.g., a query reformulator module associated with a search engine). The candidate query generator 208 may effectively generate the candidate queries by passing the selected text 202 to another system or module and then receiving the candidate queries from the outside module or system. The candidate query generator 208 may generate any number of queries from the selected text 202. In some 25 implementations, the number of candidate queries generated by the candidate query generator 208 may be limited to a predefined number such as 3 queries, 10 queries, etc. [0025] Once a number of candidate queries are obtained, a query ranking module 210 may rank the candidate queries based on a likelihood or probability that those queries correspond to the selected text 202 and the context 204. The query formulator 118 may 30 perform both the generation of candidate queries and the ranking of those candidate queries without submitting inquiries to the search engine 110 thereby reducing the burden on the search engine 110. [0026] The query ranking module 210 may rank the one or more candidate queries based one or more ranking techniques. Ranking techniques that may be used include a 6 WO 2013/130215 PCT/US2013/024247 language model 212 and an artificial intelligence (AI) system 214. Each may be used independently or in combination. [0027] The language model 212 may create a bi-gram representation of the context 204 and the selected text 202. The context 204 may include a portion of text from the 5 document that includes the selected text 202. Thus, the context 204 may be the selected text 202 plus additional text from the document. The language model 212 may determine relative rankings of the candidate queries from the candidate query generator 208 based on a number of words in each of the respective of candidate queries, a number of words in the selected text 202, and a number of words in the portion of text that makes up the context 10 204. Details of one implementation of the language model 212 are discussed below. [0028] The artificial intelligence system 214 may be implemented as any type of artificial intelligence or machine system such as a support vector machine, neural network, expert system, Bayesian belief network, fuzzy logic engine, data fusion engine, and the like. The artificial intelligence system 214 may be created from human-labeled training 15 data. A corpus of <document, query> tuples representing documents and queries associated with those documents obtained from past document consumption and searching behavior of one or more users may serve as all or part of the training data. In some implementations, the tuples may be obtained from search logs from the search engine 110 from users that have elected to provide their browsing and search behavior to the search 20 engine 110. The browsing and search data may be anonymized to protect the privacy of users who choose to contribute their data. The human labelers review the tuples determine if there is a causal relationship between the document and the query. In other words, the human labelers assign a label to each tuple based on their subjective evaluation of the probability that content of a document in a tuple caused the users to submit the query in 25 the tuple. Details of one implementation of the artificial intelligence system 214 are discussed below. [0029] Once the query formulator 118 has formulated queries and ranked those queries, the user 102 may be presented with a ranked list of the queries. The queries with higher rankings may be listed earlier or in a more prominent position in the list than those 30 queries with lower rankings. The user 102 may select one of the candidate queries to initiate a search on one or more search engines 110 based on the query. [0030] The search engine(s) 110 may submit the query to the network 106 or another data store and receive search results 216 based on the search algorithm, the selected query, 7 WO 2013/130215 PCT/US2013/024247 and the data available in the network 106. The search engine(s) 110 may use any conventional searching technique for processing the selected search query. Illustrative Language Model [0031] The language model 212 ranks the candidate queries based on the context 204. 5 The candidate queries are ranked by a conditional probability p(q Is, c), which represents the possibility of one of the queries from the candidate queries, query q, to be generated given the selected text 202, represented as s, and the context 204, represented as c. The language model 212 assumes that q = qwi, qw 2 , qwNq , S SW 1 , SW 2 , SWNs , and c = CW 1 , CW 2 , CWNcwhere qwi, swi, and cwi represent the ith word in query q, selected text s, 10 and context c respectively. In the language model 212, Nq denotes the word length of query q, N denotes the word length of selected text s, and Nc denotes the word length of context c. [0032] The language model 212 includes a further assumption that, conditioned by the selected text s and context c, each query word qwi is only dependent on its preceding word 15 qwii. This assumption is similar that the assumption made for a bi-gram language model. A bi-gram representation is desirable for some implementations because a uni-gram model may not catch the term-level relationship inside a query. Conversely, n-gram (n > 3) approaches may have high computational complexity that could potentially be too time consuming for online query suggestion. However, as processing capabilities continue to 20 increase the computational complexity of 3-gram (or higher) approaches will likely become less time consuming and it is contemplated that the language model 212 can be adapted to accommodate n-gram (n > 3) approaches. [0033] From the definitions and assumptions above, the possibility of one of the queries from the candidate queries to be generated given the selected text 202 and the 25 context 204 may be represented as: Nq (1) p(qs, c) = p (qwuIs, c) Hp(qwi |s, c, qwi - 1). i=2 [0034] In the above formulation that longer queries tend to have smaller probabilities. To alleviate this effect, the probability is multiplied by an additional weight and longer query is assigned a larger weight. The revised probability can be calculated by: Nq (2) p (q Is, c) oc A Nq . p (qWi Is, c) IIp (qWi |s, c, qWi - 1) i=2 8 WO 2013/130215 PCT/US2013/024247 where A is a constant larger than 1. [0035] The formulation to calculate p(qwi Is, c) is: p(qwj,s, c) (3) p(qwis, c) = p(s c) cc p (qwi, s, c) = p(qwi)p (s, cIqwj) p(s,c) can be ignored here since each of the candidate queries being ranked is based on the 5 same selected text s and context c. [0036] A global query corpus can be used to estimate the value of p(qwi). Given a query corpus Q, the value ofp(qwi) can be computed by: (4) p(qwi) = ~qi IQI where I Q(qwi) I denotes the number of queries in the query corpus which contain the word qwi and IQI stands for the total number of queries in the global query corpus. 10 [0037] A smoothed version of equation 4 may be used: (5) IQ(qwi)| + a - (IQI + 1) p~LqI) Q+ (IQI+ 1) where a is a constant between 0 and 1. [0038] Another probability in equation 3 can be derived as follows. Assuming that the selected text s and context c are independent conditioned by any query word qwi: (6) p(s, c~qwj) = p(sIqwj)p(cIqwj). [0039] To simplify the function, the language model 212 further assumes that 15 conditioned by any query word qwi, the words of selected text s or context c can be generated independently. Thus, Ns (7) p(sIqwj) = Hp(swj |qwj) j=1 Nc (8) p(cIqwj) = Hp(cwj |qwj) j=1 where p(sw I qwj) is the probability of swj to appear together with qwi when qwi exists. This probability can be estimated using the global query corpus: iQ(swj) n Q (qwi)I + a - (IQ (qwi)I + 1) (9) p(sw|qwg) =Q(qwi) + (IQ(qwi)I + 1) where IQ(swj) n Q (qw) I is the number of queries containing swj and qwi simultaneously 20 in the global query corpus, IQ (qwi) I denotes the number of queries in the query corpus which contain the word qwi, and a E (0,1) is used for smoothing. 9 WO 2013/130215 PCT/US2013/024247 [0040] The value of p(cwIqwj) can be computed similarly. According to equations 7 and 8, the values of p(sIqwj) and p(cIqwj) are unbalanced since N is always much smaller than Nc. The normalized values of p(sqwj) and p(cqwj) may be used to solve this unbalance. 5 [0041] The normalized formulation of p(s Iqwj) is: Ns (10) pi(sIqwj) = p(swj |qwi))7s. j=1 [0042] Similarly, the normalized value of p(cIqwj) can be calculated by: Nc (11) p(c1qwi) p(cwj |qwj))7. j=1 [0043] The formulation for calculating p(qwi_ 1 Is, c, qwi_ 1 ) is: (12) p(qwi-_1|s, c, qwi_1) = p(wqilIc p (qwi- _Is, c) where p(qwi_ 1 |s, c) can be calculated by equation 3. Because p(s, c)takes the same value for all the candidate queries based on the same selected text 202 and the same 10 context 204: p (qwg, qwj_ 1 , s, c) (13) p(qwi, qwi_ 1 Is, c) = ) cc p(qwi, qwi_ 1 , s, c) p (s, C) = p(q wi _1) p(qwi Iqwi _1) p (s, c Iqwi, qwi _1) where p(qwi_ 1 ) can be computed by equation 5. p(qwjIqwj_ 1 ) is the probability of qwi to appear right after qwj_ 1 when qwj_ 1 exists. However, when calculating this probability using the global query corpus, the words qwj_ 1 and qwi may seldom appear in succession because the global query corpus is sparse. To account for that possibility, 15 p(qwjIqwj_ 1 ) may be estimated as the probability of qwi to appear together with qwj_ 1 when qwj_ 1 exists (without requiring that qwi and qwj_ 1 appear in immediate succession), which can be computed according to equation 9. [0044] Finally, the formulation for calculating the probability p(s, cIqwi, qwj_ 1 ) is provided below. To simplify, the language model 212 assumes that the selected text s and 20 context c are independent conditioned on the two query words qwi and qwj_ 1 . This yields: (14) p(s, clqwi, qwi_ 1 ) = p(sIqwj, qwi_ 1 ) -p(clqwi, qwi_ 1 ). 10 WO 2013/130215 PCT/US2013/024247 [0045] Similar to equation 7, the language model 212 assumes that conditioned by the two query words qwi and qwj_ 1 , the words in the selected text s or context c can be generated independently. Thus, Ns (15) p(s~qwj, qwj_1) = fjp (swj | qwi, qwi_1) j=1 Nc (16) p(clqwj,qwj_ 1 ) = p (cwj Iqwi, qwi_ 1 ) j=1 where p(sw|qw, qwj_ 1 ) can be estimated by the global query corpus: (17) p( I~jjqw~ IQ (swi) n Q(qwi) n Q(qwi)I + aL I|Q (qwi) n Q (qwi_ 1 )I + L (18) L = IQ(qwi) n Q(qw-_ 1 )| + 1 5 where IQ(swj) n Q (qwi) n Q(qwi1)I stands for the number of queries in the global query corpus which contain the words swj , qwj, and qwj_ 1 simultaneously. IQ (qwi) n Q (qwi_ 1 ) | and a have similar meanings as in equation 9. [0046] Similar to equation 10, the probability of p(sqwi, qwi_ 1 ), may be normalized: Ns 1 f(s qwi, qwi_ 1 ) = p(swj |qwj,qwj_ 1 ))Ns. j=1 The value of p(cIqwi, qwi_ 1 ) can be calculated and normalized similarly. 10 Illustrative Artificial Intelligence System [0047] The artificial intelligence system 214 may implement a classification technique for ranking candidate queries. In the classification technique, human reviewers evaluate associations between documents and queries q associated with those documents. Prior to labeling by the human reviewers it may be unknown whether the content of the document 15 caused the query or if the association between the document and the query is merely coincidental or unrelated to the document. [0048] The human labelers classify the query from one of the document-query pairs as either associated with the content of the document, not associated with content of the document, or ambiguously related to the content of the document. Thus, the human 20 labelers review a corpus of <document, query> tuples. The tuples may be generated by actual browsing and searching behavior of users and stored in a global query corpus. This may be the same global query corpus used by the language model 212. Each document in the <document, query> tuples may be represented as selected text s from the document 11 WO 2013/130215 PCT/US2013/024247 and the context c that includes the selected text s. Therefore, the work of the human labelers may be represented as labeling pairs of <s, c> and q, which are then used as training data for the artificial intelligence system 214. In some implementations, only pairs of <s, c> and q in which the query is labeled as associated with the content of the 5 document may be used as training data. [0049] The artificial intelligence system 214 uses the training data to learn a function f((s, c)q) -> {-1, +1]. The functionf can be applied to new data such as the selected text 202, context 204, and queries candidates from Fig. 2 to predict a confidence level that the respective candidate queries are associated with the content of the document. The 10 confidence level for various query candidates may be used to rank the query candidates by the query ranking module 210. [0050] The manual labeling of document-query relationships may be tedious. Pseudo training data may be used to reduce the manual labeling efforts and to obtain a larger amount of training data to improve the accuracy of the function f Pseudo-training data 15 may be created by identifying search queries in the global query corpus that were submitted by users shortly after the users viewed a document paired with the query. This close temporal relationship may suggest that the content of the document caused the user to generate the query q. Automatic textual comparison of similarity between search query q and content c of the document may, or may not, identify a phrase p in the document that 20 is similar to the search query q. If such phrase p is identified by the automatic analysis, it is assumed that the phrase p, given the surrounding context c, may have caused or induced the search query q. This generates (<p, c>, q) pairs without manual labeling that can be added to the training data for the artificial intelligence system 214. Illustrative User Interfaces 25 [0051] Fig. 3 shows an illustrative document 300 that may be displayed on the local computing device 104. The document 300 may be a web page, a text document, a word processing document, a spreadsheet document, or any other type of document containing text in any format including, but not limited to, a document written in a markup language such as hypertext market language (HTML) or extensible markup language (XML). The 30 document 300 illustrates multiple examples of context for text selected by the user 102. [0052] User selected text 302 is shown by a bold rectangle surrounding the word or words selected by the user 102. The user 102 may also select partial words or single characters. The selected text 302 indicates a portion of the document 300 that is receiving the use's attention. The selected text 302 exists within the context of the document 300. 12 WO 2013/130215 PCT/US2013/024247 The amount of the document 300 that is considered as the context by the language model 212 or the artificial intelligence system 214 may vary. [0053] In some implementations, the entire document 300 may provide the context for the selected text 302. The entire document 300 may include multiple pages some of which 5 are not displayed and some of which may not have not been viewed by the user. A narrower view of the context may include only the sentence 304 that includes the selected text 302. In other implementations, the context may be defined as the paragraph 306 that includes the selected text 302, a column 308 (or frame in a web page layout) that includes the selected text 302, or a page 310 of the document 300 that includes the selected text 10 302. For any type of document including those documents without sentences, paragraphs and/or pages, the context may be defined as a relatively larger or relatively smaller portion of the entire document 300. [0054] The context may also be a portion of text 312 that has a predefined number of words or characters and includes the selected text 302. For example, a 60 word segment 15 of the document 300 including the selected text 302 may be used as the context. This portion of text 312 may span multiple sentences, paragraphs, columns, or the like and begin or end in the middle of a sentence, paragraph, column, etc. The 60 word length is merely illustrative and the context may be any length such as 100 words, 20 words or alternatively be based on characters and include 20 characters, 100 characters, 500 20 characters, or some other number of words or characters. [0055] In some implementations, the selected text 302 is located substantially in the middle of the portion of text 312. For example, if the selected text 302 has three words and the portion of text 312 includes 60 words, then the selected text 302 may be located about 23 or 24 words (i.e., 60 - 3 = 57; 57 + 2 = 23.5) from the beginning of the portion of 25 text 312 that makes up the context. In some implementations, the selected text 302 may be located in the middle 50% of the portion of text 312 (i.e., not in the first and not in the last ) or in the middle 20% of the portion of text 308 (i.e., not in the first 40% and not in the last 40%). [0056] Calculation of the number of words, or characters, in the portion of text 308 30 may exclude stop words in order to base the context on words that may be most useful for ranking search queries. For example, a 20-word context centered around the selected text 302 may be of less assistance in ranking search queries if words such as "a", "the", "and", "it" and other types of stop words are included in the 20 words of the context. Thus, the 13 WO 2013/130215 PCT/US2013/024247 predetermined number of words in the portion of text 302 that makes up the context may be a predetermined number of words excluding stop words. [0057] Fig. 3 also illustrates the location of a pre-formulated search query 314 within the document 300. The pre-formulated search query 314 may be associated with a portion 5 of the document prior to the selection of the text by the user. For example, the pre formulated search query 314 may be associated with a particular word, sentence, paragraph, column, page, etc. in the document 300. This example shows the pre formulated search query 314 as associated with the sentence immediately before the selected text 302. Depending on the extent of the document 300 that is considered as 10 context for the selected text 302, the pre-formulated search query 314 may or may not be included in the same portion of the document 300 as the selected text 302. If, for example, the sentence 304 that contains the selected text 302 is the context, then the pre-formulated search query 314 is not associated with the same part of the document 300 as the selected text 302. However, if the context is the paragraph 306, then the pre-formulated search 15 query 314 is associated with the same part of the document 300 as the selected text 302. [0058] The document 300 may contain zero, one, or multiple pre-formulated search queries 314. The pre-formulated search query(s) 314 may be queries that a user would be likely to conduct when consuming the associated portion of the document 300. The pre formulated search query(s) 314 may be manually crafted by a human author for 20 embedding in a specific portion of the document 300. Alternatively, or additionally, one or more of the pre-formulated search query(s) 314 may be determined based on analysis of query logs from other users that view the document 300 and subsequently generated a search query. [0059] The candidate query generator 208 shown in Fig. 2 may obtain the pre 25 formulated search query(s) 314 together with other search queries generated from the selected text 302. In some implementations, the candidate query generator 208 may include all pre-formulated search query(s) 314 associated with the document 300 in the list of search queries presented to the user. In other implementations, the candidate query generator 208 may include only the pre-determined search query(s) 314 that is associated 30 with the same portion, based on the definition of context, of the document 300 as the selected text 302. In yet a further implementation, only a threshold number (e.g., 1, 2, 3) of pre-determined search query(s) 314 that are associated with a location in the document 300 that is closest to the location of the selected text 302 are included in the list of search queries presented to the user. 14 WO 2013/130215 PCT/US2013/024247 [0060] Once the user selects a query from the list of candidate queries, that selected query may be used as pre-determined search query 314 for subsequent presentations of the document 300. That pre-determined search query 314 may be associated with the location of the selected text 302 that originally generate the search query. Thus, the number of pre 5 determined search queries 314 associated with the document 300 may increase as use of the system increases. [0061] Fig. 4 shows two illustrative user interfaces 400 and 402 for selecting text on a touch-screen device. The local computing device 104 from Fig. 1 may be implemented as a device that has a touch-screen display. In the first user interface 400 the user drags his 10 or her finger (or other pointing implement such as a stylus) across the surface of the touch screen from a point 404 at the start of the text to select to a point 406 and the end of the text he or she wishes to select. The user may draw his finger through the middle of the text, along the bottom of the text as if he or she is underlining the text, or in another motion that is generally in line with the flow of the text (e.g., left to right for English, but 15 the direction of movement may be different for different languages). The signal for the system to formulate search queries from the selected text may be cessation of movement of the finger when it comes to rest at the end point 406, lifting of the finger from the surface of the touch screen, a tap on the touch screen at the end point 406, etc. [0062] The user may also select text, as shown in the second user interface 402, by 20 moving a stylus (or other pointing implement such as a finger) in a generally circular shape around the text that the user intends to select. The generally circular shape may be more ovoid than circular in shape and it may be either a closed circle in which the starting point 408 and the ending point 410 touch or an open arc in which the starting point 408 is in a different location than the ending point 410. 25 [0063] In this example, the circle is drawn in a clockwise direction starting at a point 408 on the lower right of the selected text moving around to a point 410 at the top right of the selected text. In some implementations, circles drawn in either clockwise or counterclockwise directions may both cause the same result. However, in other implementations initiating the generation of search queries may occur only when the circle 30 is drawn in a clockwise (or alternatively counterclockwise) direction. The signal for the system to formulate search queries from the selected text may be cessation of movement of the stylus when it comes to rest at the end point 410, lifting of the stylus from the surface of the touch screen, closure of the circle when the stylus returns to starting point 15 WO 2013/130215 PCT/US2013/024247 408, a tap on the touch screen at the end point 410, or some other gesture representing the end of text selection and requesting initiation of search queries generation. [0064] Either of the user interfaces 402 and 404 shown in Fig. 4 provides a convenient way for the user to initiate the search process without multiple commands, use of a 5 keyboard, or switching to an interface other than the document that he or she was consuming. Illustrative Processes [0065] For ease of understanding, the processes discussed in this disclosure are delineated as separate operations represented as independent blocks. However, these 10 separately delineated operations should not be construed as necessarily order dependent in their performance. The order in which the processes are described is not intended to be construed as a limitation, and any number of the described process blocks may be combined in any order to implement the process, or an alternate process. Moreover, it is also possible that one or more of the provided operations may be modified or omitted. 15 [0066] The processes are illustrated as a collection of blocks in logical flowcharts, which represent a sequence of operations that can be implemented in hardware, software, or a combination of hardware and software. For discussion purposes, the processes are described with reference to the architectures, systems, and user interfaces shown in Figs. 1-4. However, the processes may be performed using different architectures, 20 systems, and/or user interfaces. [0067] Fig. 5 illustrates a flowchart of a process 500 for identifying and presenting candidate queries to a user. At 502, a selection by a user of text in a document is received. The user may be the user 102 shown in Fig. 1 and the selection may be received by the information-processing system 112. The selected text may be a contiguous series of text 25 such as one, two, three, four, etc. words in a row or selections of multiple words or combinations words from multiple places in the document. The document may be a web page, a text document, a word processing document, an electronic book, or any other type of document. [0068] At 504, multiple candidate queries are obtained. The candidate queries may be 30 obtained directly or indirectly from the candidate query generator 208. The candidate queries are generated by applying one or more query expansion techniques to the text selected at 502. The query expansion techniques may include any technique that compares the selected text with a previous query log to identify one or more queries from the previous query log based on the selected text. Illustrative techniques include applying 16 WO 2013/130215 PCT/US2013/024247 a K-means algorithm to a query log, conducting a random walk on a bipartite query document graph generated by parsing a query log, running a PageRank algorithm on a query-flow graph generated from a query log, or mining term association patterns from a query log. 5 [0069] At 506, it is determined if there are any pre-formulated queries associated with the document. The pre-formulated queries may be identified based on query logs of past searching behavior, created by a human editor, or generated by any other technique for creating search queries. The pre-formulated queries may be associated with a specific portion of the document such as a specific word, sentence, paragraph, page, etc. such as, 10 for example the pre-formulated query 314 shown in Fig. 3. When the text selected by the user is from the same portion of the document as the pre-formulated query, process 500 proceeds along the "yes" path to 508. If, however, the document is not associated with any pre-formulated queries or if the pre-formulated queries associated with the document are not associated with the portion of the document that includes the selected text, then 15 process 500 proceeds along the "no" path to 510. [0070] At 508, the pre-formulated query is included in the set of candidate queries obtained at 504. The pre-formulated query may be obtained faster than the other queries obtained at 504 because it is pre-formulated and may not require processing or analysis to generate. 20 [00711 At 510, the candidate queries obtained at 504, including any pre-formulated queries identified at 508, are ranked. The ranking of the candidate queries provides a higher rank to those queries that are more likely to return results desired by the user based on the text selected at 502. The ranking may be based on a language model 512 that considers a context provided by the document. The context may be represented by text in 25 the document that includes the text selected by the user at 502 and additional text (i.e., the context includes at least one additional word or character more than the text selected by the user). The ranking may additionally or alternatively be based on an artificial intelligence system 514. The artificial intelligence system 514 is trained with a set of document and query pairs (i.e., training data) that is validated by human review. The 30 human reviewers evaluate the document and query pairs to identify those that have a query which is related to the content of the document paired with the query. [0072] At 516, the candidate queries are presented to the user in a ranked list ordered according to the ranking. The ranked list may be shown to the user in an interface that also displays the document from which the user selected the text so that the user can view 17 WO 2013/130215 PCT/US2013/024247 the document and selected text while choosing a search query. Alternatively, the document may no longer be shown, but instead the document may be replaced by the list (e.g., on devices with display areas too small to show both). Additional techniques for displaying the list are also contemplated such as presenting the list in a pop-up box, a 5 drop-down menu, etc. Thus, the selection of text at 502 may cause the display of a list of recommended queries ranked in order of relevance based on the selected text and the surrounding context. [0073] At 518, a selection by the user of one of the candidate queries from the list is received. The user may make the selection by any conventional technique for selecting an 10 item from a list. Thus, the user is able to take the search query from the list that most closely represents his or her intention when selecting the words at 502 to search. [0074] At 520, the query selected by the user is submitted to one or more search engines such as search engine(s) 110. The user may then receive search results from the search engine. Thus, with this method 500 the user may obtain search results based on a 15 search query that is better designed to generate effective results than simply searching for words in selected from the document and use the user can receive those results with only minimal interactions with the document and/or search engine interface. Conclusion [0075] The subject matter described above can be implemented in hardware, software, 20 or in both hardware and software. Although implementations have been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts are disclosed as illustrative forms of illustrative implementations of generating search queries. 18
权利要求:
Claims (10) [1] 1. A method comprising: receiving a selection made by a user of text in a document; obtaining a plurality of candidate queries that includes queries generated at least in 5 part by applying one or more query expansion techniques to the selected text; and ranking, by one or more processing elements, the plurality of candidate queries based at least in part on (i) a language model derived from a context comprising text in the document that includes some or all of the selected text and additional text, or (ii) an artificial intelligence system that is trained with a set of document and query pairs that 10 have been identified by human-reviewers as having a query that is related to content of a document paired with the query. [2] 2. The method of claim 1, wherein the query expansion techniques comprise at least one of applying a K-means algorithm to a query log, conducting a random walk on a bipartite query-document graph generated by parsing a query log, running a PageRank 15 algorithm on a query-flow graph generated from a query log, or mining term association patterns from a query log. [3] 3. The method of claim 1, wherein the context comprises a portion of text of the document having a predefined number of words or characters, the portion of text positioned in the document such that the selected text is substantially in the middle of the 20 portion of text. [4] 4. The method of claim 1, wherein the ranking is based at least in part on the language model, and the language model is based at least in part on a number of words in a one of the plurality of candidate queries, a number of words in the selected text, and a number of words in the context. 25 [5] 5. The method of claim 1, wherein the ranking is based at least in part on the language model, and the language model comprises a bi-gram language model in which a word in a query from the plurality of candidate queries depends on the immediately preceding word in the query. [6] 6. The method of claim 1 further comprising: 30 presenting the plurality of candidate queries to the user in a list ordered at least partly according to the ranking; receiving a selection by the user of one of the plurality of candidate queries; and submitting the selected one of the candidate queries to a search engine. 19 WO 2013/130215 PCT/US2013/024247 [7] 7. One or more computer-readable media having computer-executable instructions which, when executed by a processor, cause a computing system to: interpret selection of text in a document by a user as a command to provide the user with one or more search queries based at least in part on the selected text; 5 obtain a plurality of candidate queries based at least in part on the selected text; rank the candidate queries based at least in part on context provided by the document. [8] 8. The one or more computer-readable media of claim 7, wherein the selection of the text comprises: 10 the user dragging a pointing implement across text displayed on a touch-screen display, or the user moving a pointing implement in a generally circular or oval shape around text displayed on a touch-screen display. [9] 9. The one or more computer-readable media of claim 7, wherein the context 15 comprises a section of text from the document that includes at least a part of the selected text and the ranking comprises using a bi-gram language model that ranks the candidate queries based at least in part on a number of words in a one of the candidate queries and a query corpus. [10] 10. The one or more computer-readable media of claim 7, wherein the context 20 comprises a section of text from the document that includes the selected text and the ranking comprises using an artificial intelligence system that uses a data set of document/query tuples, a correspondence between a document and a query in a respective one of the document/query tuples having been verified by a human reviewer. 20
类似技术:
公开号 | 公开日 | 专利标题 EP2820578B1|2019-03-27|Context-based search query formation US11086515B2|2021-08-10|Modifying captured stroke information into an actionable form US8150829B2|2012-04-03|Facilitating display of an interactive and dynamic cloud of terms related to one or more input terms JP2018077858A|2018-05-17|System and method for conversation-based information search Yu et al.2019|FlowSense: A natural language interface for visual data exploration within a dataflow system US10210383B2|2019-02-19|Interacting with an assistant component based on captured stroke information US8949215B2|2015-02-03|GUI based web search US20140012839A1|2014-01-09|Suggesting alternative queries in query results US20180341871A1|2018-11-29|Utilizing deep learning with an information retrieval mechanism to provide question answering in restricted domains US20090193352A1|2009-07-30|Interface for assisting in the construction of search queries US10776707B2|2020-09-15|Language translation based on search results and user interaction data JP2015511746A5|2016-05-19| US20160292145A1|2016-10-06|Techniques for understanding the aboutness of text based on semantic analysis Yoshino et al.2015|News navigation system based on proactive dialogue strategy US20170068436A1|2017-03-09|Interpreting and Supplementing Captured Stroke Information RU2677379C2|2019-01-16|Method of forming a user query Sánchez-Cervantes et al.2021|NaLa-Search: A multimodal, interaction-based architecture for faceted search on linked open data US20190391982A1|2019-12-26|Method of and system for ranking search results using machine learning algorithm US11263394B2|2022-03-01|Low-resource sentence compression system US20220012296A1|2022-01-13|Systems and methods to automatically categorize social media posts and recommend social media posts WO2008092171A2|2008-07-31|Interface for assisting in the construction of search queries
同族专利:
公开号 | 公开日 US20130226935A1|2013-08-29| MX2014010184A|2014-11-10| KR102036394B1|2019-11-26| WO2013130215A1|2013-09-06| KR20140128381A|2014-11-05| MX353571B|2018-01-18| JP2015508930A|2015-03-23| EP2820578A1|2015-01-07| EP2820578A4|2015-02-11| US10984337B2|2021-04-20| CN104145269B|2018-10-16| CA2861121A1|2013-09-06| CN104145269A|2014-11-12| RU2014135211A|2016-03-20| RU2633115C2|2017-10-11| JP6429630B2|2018-11-28| AU2013226549B2|2017-09-28| CA2861121C|2020-07-07| EP2820578B1|2019-03-27|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 US5252951A|1989-04-28|1993-10-12|International Business Machines Corporation|Graphical user interface with gesture recognition in a multiapplication environment| US7760969B2|1999-05-25|2010-07-20|Silverbrook Research Pty Ltd|Method of providing information via context searching from a printed substrate| US6598072B1|1999-12-02|2003-07-22|International Business Machines Corporation|System for precluding repetitive accessing of web pages in a sequence of linked web pages accessed from the world wide web through a web browser at a web receiving display station| AU4976801A|2000-04-02|2001-10-15|Tangis Corp|Soliciting information based on a computer user's context| KR20010103532A|2000-05-10|2001-11-23|제임스 김 다니엘|The oneclick shopping search method and search system for e-commerce| US6591266B1|2000-07-14|2003-07-08|Nec Corporation|System and method for intelligent caching and refresh of dynamically generated and static web content| KR20000063555A|2000-07-21|2000-11-06|박형준|Web-site search method using text information on web-browser| JP2003296015A|2002-01-30|2003-10-17|Casio Comput Co Ltd|Electronic equipment| JP2004104594A|2002-09-11|2004-04-02|Toshiba Corp|Digital still camera and method for inputting user instruction| US7548858B2|2003-03-05|2009-06-16|Microsoft Corporation|System and method for selective audible rendering of data to a user based on user input| US7836010B2|2003-07-30|2010-11-16|Northwestern University|Method and system for assessing relevant properties of work contexts for use by information services| US7895595B2|2003-07-30|2011-02-22|Northwestern University|Automatic method and system for formulating and transforming representations of context used by information services| US20050160107A1|2003-12-29|2005-07-21|Ping Liang|Advanced search, file system, and intelligent assistant agent| US6975767B1|2004-02-02|2005-12-13|Adams Platform Pty Ltd.|System and method for encoding and decoding video| US7499003B2|2004-03-31|2009-03-03|Electrolux Home Products, Inc.|Disappearing interface system| US7836044B2|2004-06-22|2010-11-16|Google Inc.|Anticipated query generation and processing in a search engine| US7958115B2|2004-07-29|2011-06-07|Yahoo! Inc.|Search systems and methods using in-line contextual queries| KR20060021722A|2004-09-03|2006-03-08|전홍석|Procedures to display documents, extract words, and display dictionary search results simultaneously within one program| JP4538284B2|2004-09-09|2010-09-08|株式会社リコー|Information search system, information search terminal, program, and recording medium| US8169410B2|2004-10-20|2012-05-01|Nintendo Co., Ltd.|Gesture inputs for a portable display device| US20060136406A1|2004-12-17|2006-06-22|Erika Reponen|Spatial search and selection feature| US7487461B2|2005-05-04|2009-02-03|International Business Machines Corporation|System and method for issuing commands based on pen motions on a graphical keyboard| US7676767B2|2005-06-15|2010-03-09|Microsoft Corporation|Peel back user interface to show hidden functions| US20090132969A1|2005-06-16|2009-05-21|Ken Mayer|Method and system for automated initiation of search queries from computer displayed content| US7657518B2|2006-01-31|2010-02-02|Northwestern University|Chaining context-sensitive search results| US7664739B2|2006-02-14|2010-02-16|Microsoft Corporation|Object search ui and dragging object results| US8077153B2|2006-04-19|2011-12-13|Microsoft Corporation|Precise selection techniques for multi-touch screens| US7739221B2|2006-06-28|2010-06-15|Microsoft Corporation|Visual and multi-dimensional search| US20080005074A1|2006-06-28|2008-01-03|Microsoft Corporation|Search over designated content| US7716201B2|2006-08-10|2010-05-11|Yahoo! Inc.|Method and apparatus for reconstructing a search query| US7877707B2|2007-01-06|2011-01-25|Apple Inc.|Detecting and interpreting real-world and security gestures on touch and hover sensitive devices| JP4398992B2|2007-03-29|2010-01-13|株式会社東芝|Information search apparatus, information search method, and information search program| US7693842B2|2007-04-09|2010-04-06|Microsoft Corporation|In situ search for active note taking| US20080263142A1|2007-04-20|2008-10-23|Computer Associates Think, Inc.|Meta Data Driven User Interface System and Method| US8094939B2|2007-06-26|2012-01-10|Microsoft Corporation|Digital ink-based search| US8190627B2|2007-06-28|2012-05-29|Microsoft Corporation|Machine assisted query formulation| JP2009053757A|2007-08-23|2009-03-12|Toshiba Corp|Information processing apparatus, input method and program| US7778118B2|2007-08-28|2010-08-17|Garmin Ltd.|Watch device having touch-bezel user interface| US20090106221A1|2007-10-18|2009-04-23|Microsoft Corporation|Ranking and Providing Search Results Based In Part On A Number Of Click-Through Features| JP4724701B2|2007-10-30|2011-07-13|日本電信電話株式会社|Text search server computer, text search method, text search program, and recording medium recording the program| TWI389015B|2007-12-31|2013-03-11|Htc Corp|Method for operating software input panel| US20090198671A1|2008-02-05|2009-08-06|Yahoo! Inc.|System and method for generating subphrase queries| US20100241663A1|2008-02-07|2010-09-23|Microsoft Corporation|Providing content items selected based on context| US8201109B2|2008-03-04|2012-06-12|Apple Inc.|Methods and graphical user interfaces for editing on a portable multifunction device| US8205157B2|2008-03-04|2012-06-19|Apple Inc.|Methods and graphical user interfaces for conducting searches on a portable multifunction device| JP4848388B2|2008-04-09|2011-12-28|ヤフー株式会社|How to calculate a score for a search query| US8010547B2|2008-04-15|2011-08-30|Yahoo! Inc.|Normalizing query words in web search| US8229911B2|2008-05-13|2012-07-24|Enpulz, Llc|Network search engine utilizing client browser activity information| US20090287680A1|2008-05-14|2009-11-19|Microsoft Corporation|Multi-modal query refinement| US8296670B2|2008-05-19|2012-10-23|Microsoft Corporation|Accessing a menu utilizing a drag-operation| US8055673B2|2008-06-05|2011-11-08|Yahoo! Inc.|Friendly search and socially augmented search query assistance layer| WO2009155281A1|2008-06-17|2009-12-23|The Trustees Of Columbia University In The City Of New York|System and method for dynamically and interactively searching media data| US20100042613A1|2008-08-14|2010-02-18|Yield Software, Inc.|Method and system for automated search engine optimization| US8250066B2|2008-09-04|2012-08-21|International Business Machines Corporation|Search results ranking method and system| US8060582B2|2008-10-22|2011-11-15|Google Inc.|Geocoding personal information| US8086275B2|2008-10-23|2011-12-27|Microsoft Corporation|Alternative inputs of a mobile communications device| US20100107067A1|2008-10-27|2010-04-29|Nokia Corporation|Input on touch based user interfaces| US20100146012A1|2008-12-04|2010-06-10|Microsoft Corporation|Previewing search results for suggested refinement terms and vertical searches| US8055675B2|2008-12-05|2011-11-08|Yahoo! Inc.|System and method for context based query augmentation| US8407606B1|2009-01-02|2013-03-26|Perceptive Pixel Inc.|Allocating control among inputs concurrently engaging an object displayed on a multi-touch device| US9330165B2|2009-02-13|2016-05-03|Microsoft Technology Licensing, Llc|Context-aware query suggestion by mining log data| US8275759B2|2009-02-24|2012-09-25|Microsoft Corporation|Contextual query suggestion in result pages| KR20100101389A|2009-03-09|2010-09-17|삼성전자주식회사|Display apparatus for providing a user menu, and method for providing ui applied thereto| US8134539B2|2009-03-30|2012-03-13|Eastman Kodak Company|Digital picture frame having near-touch and true-touch| US8836648B2|2009-05-27|2014-09-16|Microsoft Corporation|Touch pull-in gesture| WO2011024585A1|2009-08-25|2011-03-03|楽天株式会社|Information acquisition device, information acquisition program, recording medium, information acquisition method, and information acquisition system| US20110055753A1|2009-08-31|2011-03-03|Horodezky Samuel J|User interface methods providing searching functionality| US9015148B2|2009-09-21|2015-04-21|Microsoft Corporation|Suggesting related search queries during web browsing| US8631004B2|2009-12-28|2014-01-14|Yahoo! Inc.|Search suggestion clustering and presentation| US8479107B2|2009-12-31|2013-07-02|Nokia Corporation|Method and apparatus for fluid graphical user interface| US8938466B2|2010-01-15|2015-01-20|Lexisnexis, A Division Of Reed Elsevier Inc.|Systems and methods for ranking documents| US8185526B2|2010-01-21|2012-05-22|Microsoft Corporation|Dynamic keyword suggestion and image-search re-ranking| US20110208730A1|2010-02-23|2011-08-25|Microsoft Corporation|Context-aware searching| JP5790646B2|2010-05-20|2015-10-07|日本電気株式会社|Perplexity calculation device| US8954422B2|2010-07-30|2015-02-10|Ebay Inc.|Query suggestion for E-commerce sites| WO2012024442A2|2010-08-17|2012-02-23|Google Inc.|Touch-based gesture detection for a touch-sensitive device| US8438473B2|2011-01-05|2013-05-07|Research In Motion Limited|Handling of touch events in a browser environment| WO2012159254A1|2011-05-23|2012-11-29|Microsoft Corporation|Invisible control|US10276170B2|2010-01-18|2019-04-30|Apple Inc.|Intelligent automated assistant| US8682667B2|2010-02-25|2014-03-25|Apple Inc.|User profiling for selecting user specific voice input processing information| US9262612B2|2011-03-21|2016-02-16|Apple Inc.|Device access using voice authentication| US20120311585A1|2011-06-03|2012-12-06|Apple Inc.|Organizing task items that represent tasks to perform| US11157570B2|2012-05-24|2021-10-26|Evernote Corporation|Related notes and multi-layer search in personal and shared content| US9483518B2|2012-12-18|2016-11-01|Microsoft Technology Licensing, Llc|Queryless search based on context| DE212014000045U1|2013-02-07|2015-09-24|Apple Inc.|Voice trigger for a digital assistant| JP2014211701A|2013-04-17|2014-11-13|ソニー株式会社|Information processing apparatus, information processing method, and program| US10176167B2|2013-06-09|2019-01-08|Apple Inc.|System and method for inferring user intent from speech inputs| EP3008641A1|2013-06-09|2016-04-20|Apple Inc.|Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant| US20150095319A1|2013-06-10|2015-04-02|Microsoft Corporation|Query Expansion, Filtering and Ranking for Improved Semantic Search Results Utilizing Knowledge Graphs| US9646062B2|2013-06-10|2017-05-09|Microsoft Technology Licensing, Llc|News results through query expansion| US9600228B2|2013-09-16|2017-03-21|Here Global B.V.|Enhanced system and method for static query generation and entry| US9411905B1|2013-09-26|2016-08-09|Groupon, Inc.|Multi-term query subsumption for document classification| US9754034B2|2013-11-27|2017-09-05|Microsoft Technology Licensing, Llc|Contextual information lookup and navigation| CN105095231A|2014-04-29|2015-11-25|阿里巴巴集团控股有限公司|Method and device for presenting search result| US9600600B2|2014-04-30|2017-03-21|Excalibur Ip, Llc|Method and system for evaluating query suggestions quality| US9251141B1|2014-05-12|2016-02-02|Google Inc.|Entity identification model training| US9959296B1|2014-05-12|2018-05-01|Google Llc|Providing suggestions within a document| US9881010B1|2014-05-12|2018-01-30|Google Inc.|Suggestions based on document topics| US9607032B2|2014-05-12|2017-03-28|Google Inc.|Updating text within a document| CN110797019A|2014-05-30|2020-02-14|苹果公司|Multi-command single-speech input method| US9430463B2|2014-05-30|2016-08-30|Apple Inc.|Exemplar-based natural language processing| US9715875B2|2014-05-30|2017-07-25|Apple Inc.|Reducing the need for manual start/end-pointing and trigger phrases| US9633004B2|2014-05-30|2017-04-25|Apple Inc.|Better resolution when referencing to concepts| US10170123B2|2014-05-30|2019-01-01|Apple Inc.|Intelligent assistant for home automation| US10860627B2|2014-06-17|2020-12-08|Microsoft Technology Licensing Llc|Server and method for classifying entities of a query| US9613145B2|2014-06-18|2017-04-04|Google Inc.|Generating contextual search presentations| US10242088B2|2014-09-18|2019-03-26|Microsoft Technology Licensing, Llc|Multi-source search| US10127911B2|2014-09-30|2018-11-13|Apple Inc.|Speaker identification and unsupervised speaker adaptation techniques| US10074360B2|2014-09-30|2018-09-11|Apple Inc.|Providing an indication of the suitability of speech recognition| US9668121B2|2014-09-30|2017-05-30|Apple Inc.|Social reminders| EP3207470A1|2014-10-14|2017-08-23|Google, Inc.|Assistive browsing using context| US10152299B2|2015-03-06|2018-12-11|Apple Inc.|Reducing response latency of intelligent automated assistants| US9886953B2|2015-03-08|2018-02-06|Apple Inc.|Virtual assistant activation| US9721566B2|2015-03-08|2017-08-01|Apple Inc.|Competing devices responding to voice triggers| US10169467B2|2015-03-18|2019-01-01|Microsoft Technology Licensing, Llc|Query formulation via task continuum| US10083688B2|2015-05-27|2018-09-25|Apple Inc.|Device voice control for selecting a displayed affordance| US10200824B2|2015-05-27|2019-02-05|Apple Inc.|Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device| US9578173B2|2015-06-05|2017-02-21|Apple Inc.|Virtual assistant aided communication with 3rd party service in a communication session| CN105095351B|2015-06-18|2019-03-26|百度在线网络技术(北京)有限公司|It is a kind of for providing the method and apparatus of local search suggestion| US20160378747A1|2015-06-29|2016-12-29|Apple Inc.|Virtual assistant for media playback| US10747498B2|2015-09-08|2020-08-18|Apple Inc.|Zero latency digital assistant| US10970646B2|2015-10-01|2021-04-06|Google Llc|Action suggestions for user-selected content| US10691709B2|2015-10-28|2020-06-23|Open Text Sa Ulc|System and method for subset searching and associated search operators| US10956666B2|2015-11-09|2021-03-23|Apple Inc.|Unconventional virtual assistant interactions| US10055390B2|2015-11-18|2018-08-21|Google Llc|Simulated hyperlinks on a mobile device based on user intent and a centered selection of text| US10223066B2|2015-12-23|2019-03-05|Apple Inc.|Proactive assistance based on dialog communication between devices| US10289729B2|2016-03-17|2019-05-14|Google Llc|Question and answer interface based on contextual information| US10628505B2|2016-03-30|2020-04-21|Microsoft Technology Licensing, Llc|Using gesture selection to obtain contextually relevant information| US11227589B2|2016-06-06|2022-01-18|Apple Inc.|Intelligent list reading| US10586535B2|2016-06-10|2020-03-10|Apple Inc.|Intelligent digital assistant in a multi-tasking environment| DK201670540A1|2016-06-11|2018-01-08|Apple Inc|Application integration with a digital assistant| US10474753B2|2016-09-07|2019-11-12|Apple Inc.|Language identification using recurrent neural networks| US10754886B2|2016-10-05|2020-08-25|International Business Machines Corporation|Using multiple natural language classifier to associate a generic query with a structured question type| US10437841B2|2016-10-10|2019-10-08|Microsoft Technology Licensing, Llc|Digital assistant extension automatic ranking and selection| KR101916798B1|2016-10-21|2018-11-09|네이버 주식회사|Method and system for providing recommendation query using search context| CN106845530B|2016-12-30|2018-09-11|百度在线网络技术(北京)有限公司|character detection method and device| US10417266B2|2017-05-09|2019-09-17|Apple Inc.|Context-aware ranking of intelligent response suggestions| DK201770383A1|2017-05-09|2018-12-14|Apple Inc.|User interface for correcting recognition errors| US10395654B2|2017-05-11|2019-08-27|Apple Inc.|Text normalization based on a data-driven learning network| US10747815B2|2017-05-11|2020-08-18|Open Text Sa Ulc|System and method for searching chains of regions and associated search operators| US20180336275A1|2017-05-16|2018-11-22|Apple Inc.|Intelligent automated assistant for media exploration| DK179560B1|2017-05-16|2019-02-18|Apple Inc.|Far-field extension for digital assistant services| US10311144B2|2017-05-16|2019-06-04|Apple Inc.|Emoji word sense disambiguation| US20180349472A1|2017-06-02|2018-12-06|Apple Inc.|Methods and systems for providing query suggestions| US20190025939A1|2017-07-24|2019-01-24|International Business Machines Corporation|Cognition Enabled Predictive Keyword Dictionary for Smart Devices| US20190171727A1|2017-12-01|2019-06-06|Microsoft Technology Licensing, Llc|Personalized contextual predictive type-ahead query suggestions| RU2711103C2|2017-12-27|2020-01-15|Общество С Ограниченной Ответственностью "Яндекс"|Method and server for predicting query-completion suggestion for partial user-entered query| US10824686B2|2018-03-05|2020-11-03|Open Text Sa Ulc|System and method for searching based on text blocks and associated search operators| US10592604B2|2018-03-12|2020-03-17|Apple Inc.|Inverse text normalization for automatic speech recognition| US10928918B2|2018-05-07|2021-02-23|Apple Inc.|Raise to speak| US10892996B2|2018-06-01|2021-01-12|Apple Inc.|Variable latency device coordination| DK179822B1|2018-06-01|2019-07-12|Apple Inc.|Voice interaction at a primary device to access call functionality of a companion device| DK180639B1|2018-06-01|2021-11-04|Apple Inc|DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT| US10944859B2|2018-06-03|2021-03-09|Apple Inc.|Accelerated task performance| US11010561B2|2018-09-27|2021-05-18|Apple Inc.|Sentiment prediction from textual data| US10839159B2|2018-09-28|2020-11-17|Apple Inc.|Named entity normalization in a spoken dialog system| US11170166B2|2018-09-28|2021-11-09|Apple Inc.|Neural typographical error modeling via generative adversarial networks| WO2020159395A1|2019-01-29|2020-08-06|Публичное Акционерное Общество "Сбербанк России"|Method for creating a dialogue analysis model on the basis of artificial intelligence| US10949664B2|2019-04-08|2021-03-16|Kyocera Document Solutions Inc.|Optical character recognition training data generation for neural networks by parsing page description language jobs| DK201970509A1|2019-05-06|2021-01-15|Apple Inc|Spoken notifications| US11140099B2|2019-05-21|2021-10-05|Apple Inc.|Providing message response suggestions| DK180129B1|2019-05-31|2020-06-02|Apple Inc.|User activity shortcut suggestions| KR102244887B1|2019-10-01|2021-04-28| 더존비즈온|Method and system for recommending SQL query| CN112926577B|2021-02-20|2021-11-26|杭州海量信息技术有限公司|Medical bill image structuring method and device and computer readable medium|
法律状态:
2015-07-16| PC1| Assignment before grant (sect. 113)|Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC Free format text: FORMER APPLICANT(S): MICROSOFT CORPORATION | 2018-01-25| FGA| Letters patent sealed or granted (standard patent)|
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 US13/408,853||2012-02-29|| US13/408,853|US10984337B2|2012-02-29|2012-02-29|Context-based search query formation| PCT/US2013/024247|WO2013130215A1|2012-02-29|2013-02-01|Context-based search query formation| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|